package com.reactim.message.config.management;

import lombok.Data;

/**
 * 配置导入结果
 * 
 * <p>封装配置导入操作的结果信息，包括导入状态、文件信息、
 * 应用状态和备份信息等。</p>
 * 
 * @author ReactIM Team
 * @version 1.0.0
 * @since 1.0.0
 */
@Data
public class ConfigurationImportResult {
    
    /**
     * 导入是否成功
     */
    private boolean success;
    
    /**
     * 结果消息
     */
    private String message;
    
    /**
     * 导入文件路径
     */
    private String filePath;
    
    /**
     * 导入文件格式
     */
    private ConfigurationFormat format;
    
    /**
     * 导入的配置对象
     */
    private ConfigurationExport importedConfig;
    
    /**
     * 是否已应用配置
     */
    private boolean applied;
    
    /**
     * 应用前创建的备份名称
     */
    private String backupName;
    
    /**
     * 错误信息（如果导入失败）
     */
    private Exception error;
    
    /**
     * 检查是否有导入的配置
     * 
     * @return 如果有导入的配置返回true
     */
    public boolean hasImportedConfig() {
        return importedConfig != null;
    }
}